﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class TegevuseKoht : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.Aadress, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ITegevuseKoht {
        
        private string @__tegevuskohaNimetus;
        
        private System.DateTime? @__tegevuseAlgusKP;
        
        private System.DateTime? @__tegevuseLoppKP;
        
        private string @__selgitus;
        
        public TegevuseKoht() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public TegevuseKoht(
                    string @tegevuskohaNimetus, 
                    System.DateTime? @tegevuseAlgusKP, 
                    System.DateTime? @tegevuseLoppKP, 
                    string @selgitus, 
                    string @aadresskood, 
                    string @aadressTekst, 
                    System.Int64? @maakondKL, 
                    System.Int64? @alevKylaLinnaosaKL, 
                    System.Int64? @liikluspindKL, 
                    string @majaKrunt, 
                    string @hooneosa, 
                    System.Int64? @riikKL, 
                    System.Int64? @linnValdKL, 
                    System.Int64? @vaikekohtKL, 
                    System.Decimal? @punktiXKoordinaat, 
                    System.Decimal? @punktiYKoordinaat, 
                    string @kirjeldus, 
                    string @nimi, 
                    string @tanav, 
                    string @sihtnumber, 
                    System.Int32? @aDRID) : 
                base(@aadresskood, @aadressTekst, @maakondKL, @alevKylaLinnaosaKL, @liikluspindKL, @majaKrunt, @hooneosa, @riikKL, @linnValdKL, @vaikekohtKL, @punktiXKoordinaat, @punktiYKoordinaat, @kirjeldus, @nimi, @tanav, @sihtnumber, @aDRID) {
            this.@__tegevuskohaNimetus = @tegevuskohaNimetus;
            this.@__tegevuseAlgusKP = @tegevuseAlgusKP;
            this.@__tegevuseLoppKP = @tegevuseLoppKP;
            this.@__selgitus = @selgitus;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected TegevuseKoht(ITegevuseKoht @tegevuseKoht) : 
                base(@tegevuseKoht.Aadresskood, @tegevuseKoht.AadressTekst, @tegevuseKoht.MaakondKL, @tegevuseKoht.AlevKylaLinnaosaKL, @tegevuseKoht.LiikluspindKL, @tegevuseKoht.MajaKrunt, @tegevuseKoht.Hooneosa, @tegevuseKoht.RiikKL, @tegevuseKoht.LinnValdKL, @tegevuseKoht.VaikekohtKL, @tegevuseKoht.PunktiXKoordinaat, @tegevuseKoht.PunktiYKoordinaat, @tegevuseKoht.Kirjeldus, @tegevuseKoht.Nimi, @tegevuseKoht.Tanav, @tegevuseKoht.Sihtnumber, @tegevuseKoht.ADRID) {
            this.@__tegevuskohaNimetus = @tegevuseKoht.TegevuskohaNimetus;
            this.@__tegevuseAlgusKP = @tegevuseKoht.TegevuseAlgusKP;
            this.@__tegevuseLoppKP = @tegevuseKoht.TegevuseLoppKP;
            this.@__selgitus = @tegevuseKoht.Selgitus;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        public TegevuseKoht(IAadress @aadress) : 
                base(@aadress) {
        }
        
        public virtual string TegevuskohaNimetus {
            get {
                return this.@__tegevuskohaNimetus;
            }
            set {
                this.@__tegevuskohaNimetus = value;
            }
        }
        
        public virtual System.DateTime? TegevuseAlgusKP {
            get {
                return this.@__tegevuseAlgusKP;
            }
            set {
                this.@__tegevuseAlgusKP = value;
            }
        }
        
        public virtual System.DateTime? TegevuseLoppKP {
            get {
                return this.@__tegevuseLoppKP;
            }
            set {
                this.@__tegevuseLoppKP = value;
            }
        }
        
        public virtual string Selgitus {
            get {
                return this.@__selgitus;
            }
            set {
                this.@__selgitus = value;
            }
        }
    }
}
